<!DOCTYPE html>
<html lang="si">
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <meta name="description" content="මෙය එම්එල්පී-මික්සර්හි විකට ක්රියාත්මක කිරීම/නිබන්ධනයකි: PyTorch හි දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයකි."/>

    <meta name="twitter:card" content="summary"/>
    <meta name="twitter:image:src" content="https://avatars1.githubusercontent.com/u/64068543?s=400&amp;v=4"/>
    <meta name="twitter:title" content="එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්"/>
    <meta name="twitter:description" content="මෙය එම්එල්පී-මික්සර්හි විකට ක්රියාත්මක කිරීම/නිබන්ධනයකි: PyTorch හි දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයකි."/>
    <meta name="twitter:site" content="@labmlai"/>
    <meta name="twitter:creator" content="@labmlai"/>

    <meta property="og:url" content="https://nn.labml.ai/transformers/mlp_mixer/index.html"/>
    <meta property="og:title" content="එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්"/>
    <meta property="og:image" content="https://avatars1.githubusercontent.com/u/64068543?s=400&amp;v=4"/>
    <meta property="og:site_name" content="එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්"/>
    <meta property="og:type" content="object"/>
    <meta property="og:title" content="එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්"/>
    <meta property="og:description" content="මෙය එම්එල්පී-මික්සර්හි විකට ක්රියාත්මක කිරීම/නිබන්ධනයකි: PyTorch හි දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයකි."/>

    <title>එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්</title>
    <link rel="shortcut icon" href="/icon.png"/>
    <link rel="stylesheet" href="../../pylit.css?v=1">
    <link rel="canonical" href="https://nn.labml.ai/transformers/mlp_mixer/index.html"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.13.18/dist/katex.min.css" integrity="sha384-zTROYFVGOfTw7JV7KUu8udsvW2fx4lWOsCEDqhBreBwlHI4ioVRtmIvEThzJHGET" crossorigin="anonymous">

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-4V3HC8HBLH"></script>
    <script>
        window.dataLayer = window.dataLayer || [];

        function gtag() {
            dataLayer.push(arguments);
        }

        gtag('js', new Date());

        gtag('config', 'G-4V3HC8HBLH');
    </script>
</head>
<body>
<div id='container'>
    <div id="background"></div>
    <div class='section'>
        <div class='docs'>
            <p>
                <a class="parent" href="/">home</a>
                <a class="parent" href="../index.html">transformers</a>
                <a class="parent" href="index.html">mlp_mixer</a>
            </p>
            <p>
                <a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations" target="_blank">
                    <img alt="Github"
                         src="https://img.shields.io/github/stars/labmlai/annotated_deep_learning_paper_implementations?style=social"
                         style="max-width:100%;"/></a>
                <a href="https://twitter.com/labmlai" rel="nofollow" target="_blank">
                    <img alt="Twitter"
                         src="https://img.shields.io/twitter/follow/labmlai?style=social"
                         style="max-width:100%;"/></a>
            </p>
            <p>
                <a href="https://github.com/labmlai/annotated_deep_learning_paper_implementations/tree/master/labml_nn/transformers/mlp_mixer/__init__.py" target="_blank">
                    View code on Github</a>
            </p>
        </div>
    </div>
    <div class='section' id='section-0'>
        <div class='docs doc-strings'>
            <div class='section-link'>
                <a href='#section-0'>#</a>
            </div>
            <h1>එම්එල්පී-මික්සර්: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පයක්</h1>
<p>මෙයකඩදාසි <a href="https://papers.labml.ai/paper/2105.01601">එම්එල්පී-මික්සර් හි <a href="https://pytorch.org">පයිටෝච්</a> ක්රියාත්මක කිරීමයි: දැක්ම සඳහා සර්ව එම්එල්පී ගෘහ නිර්මාණ ශිල්පය</a> . </p>
<p>මෙමලිපිය දර්ශන කාර්යයන් පිළිබඳ ආකෘතිය අදාළ වේ. ආකෘතිය ට්රාන්ස්ෆෝමරයකට සමාන වන අතර අවධානය යොමු කරන තට්ටුවක් පැච් හරහා යොදන එම්එල්පී මගින් ප්රතිස්ථාපනය වේ (හෝ එන්එල්පී කර්තව්යයකදී ටෝකන). </p>
<p>MLPMixer අපගේ ක්රියාත්මක කිරීම <a href="../models.html">අපගේ ට්රාන්ස්ෆෝමර් ක්රියාත්මක කිරීම</a> <a href="../mha.html">ස්වයං අවධානය ස්ථරය</a> සඳහා වෙනුවට පහත වැටීමක් වේ. එබැවින් එය කේත පේළි කිහිපයක් පමණක් වන අතර, අනුක්රමික මානය හරහා එම්එල්පී යෙදීම සඳහා ටෙන්සරය සම්ප්රේෂණය කරයි. </p>
<p>කඩදාසිදර්ශන කාර්යයන් සඳහා එම්එල්පී මික්සර් යෙදුවද, අපි එය <a href="../mlm/index.html">වෙස් භාෂා ආකෘතියක්</a>මත උත්සාහ කළෙමු. <a href="experiment.html">මෙන්න අත්හදා බැලීමේ කේතය</a>. </p>
<p><a href="https://app.labml.ai/run/994263d2cdb511eb961e872301f0dbab"><img alt="View Run" src="https://img.shields.io/badge/labml-experiment-brightgreen"></a></p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">29</span><span></span><span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Optional</span>
<span class="lineno">30</span>
<span class="lineno">31</span><span class="kn">import</span> <span class="nn">torch</span>
<span class="lineno">32</span><span class="kn">from</span> <span class="nn">torch</span> <span class="kn">import</span> <span class="n">nn</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-1'>
        <div class='docs doc-strings'>
            <div class='section-link'>
                <a href='#section-1'>#</a>
            </div>
            <h2>MLPමික්සර්</h2>
<p>මෙමමොඩියුලය <a href="../mha.html">ස්වයං අවධානය ස්ථරය</a>සඳහා පතන වෙනුවට වේ. එය එම්එල්පී වෙත පෝෂණය කිරීමට පෙර ආදාන ටෙන්සරය සම්ප්රේෂණය කර ආපසු සම්ප්රේෂණය කරයි, එවිට එම්එල්පී විශේෂාංග මානය වෙනුවට අනුක්රමික මානය හරහා (ටෝකන හෝ රූප පැච් හරහා) යොදනු ලැබේ. </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">35</span><span class="k">class</span> <span class="nc">MLPMixer</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-2'>
        <div class='docs doc-strings'>
            <div class='section-link'>
                <a href='#section-2'>#</a>
            </div>
            <ul><li><code  class="highlight"><span></span><span class="n">ffn</span></code>
 MLP මොඩියුලය වේ. </li></ul>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">45</span>    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mlp</span><span class="p">:</span> <span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-3'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-3'>#</a>
            </div>
            
        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">49</span>        <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span>
<span class="lineno">50</span>        <span class="bp">self</span><span class="o">.</span><span class="n">mlp</span> <span class="o">=</span> <span class="n">mlp</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-4'>
        <div class='docs doc-strings'>
            <div class='section-link'>
                <a href='#section-4'>#</a>
            </div>
            <p> <a href="../mha.html">සාමාන්ය අවධානය යොමු කිරීමේ මොඩියුලය</a> සඳහා <span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqb" style=""><span class="mord text" style=""><span class="mord" style="">query</span></span></span></span></span></span></span>විවිධ ටෝකන කාවැද්දීම් <span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.69444em;vertical-align:0em;"></span><span class="mord coloredeq eqc" style=""><span class="mord text" style=""><span class="mord" style="">value</span></span></span></span></span></span></span> සහ වෙස් මුහුණක් සමඟ පෝෂණය කළ හැකිය.<span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqd" style=""><span class="mord text" style=""><span class="mord" style="">key</span></span></span></span></span></span></span> </p>
<p>අපිඑකම ක්රියාකාරී අත්සන අනුගමනය කරන අතර එමඟින් අපට එය කෙලින්ම ප්රතිස්ථාපනය කළ හැකිය. </p>
<p>MLPමිශ්ර කිරීම සඳහා, <span ><span class="katex-display"><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.43056em;vertical-align:0em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqb" style=""><span class="mord text" style=""><span class="mord" style="">query</span></span></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span></span><span class="base"><span class="strut" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqd" style=""><span class="mord text" style=""><span class="mord" style="">key</span></span></span><span class="mspace" style="margin-right:0.2777777777777778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2777777777777778em;"></span></span><span class="base"><span class="strut" style="height:0.69444em;vertical-align:0em;"></span><span class="mord coloredeq eqc" style=""><span class="mord text" style=""><span class="mord" style="">value</span></span></span></span></span></span></span></span> සහ ආවරණ කිරීම කළ නොහැක. <code  class="highlight"><span></span><span class="n">query</span></code>
 ( සහ <code  class="highlight"><span></span><span class="n">key</span></code>
 සහ <code  class="highlight"><span></span><span class="n">value</span></code>
) හැඩය වේ <code  class="highlight"><span></span><span class="p">[</span><span class="n">seq_len</span><span class="p">,</span> <span class="n">batch_size</span><span class="p">,</span> <span class="n">d_model</span><span class="p">]</span></code>
. </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">52</span>    <span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">query</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">,</span> <span class="n">key</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">,</span> <span class="n">mask</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">torch</span><span class="o">.</span><span class="n">Tensor</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-5'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-5'>#</a>
            </div>
            <p><span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqb" style=""><span class="mord text" style=""><span class="mord" style="">query</span></span></span></span></span></span></span>,<span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.8888799999999999em;vertical-align:-0.19444em;"></span><span class="mord coloredeq eqd" style=""><span class="mord text" style=""><span class="mord" style="">key</span></span></span></span></span></span></span>, සහ <span ><span class="katex"><span aria-hidden="true" class="katex-html"><span class="base"><span class="strut" style="height:0.69444em;vertical-align:0em;"></span><span class="mord coloredeq eqc" style=""><span class="mord text" style=""><span class="mord" style="">value</span></span></span></span></span></span></span> සියල්ල එක හා සමාන විය යුතුය </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">64</span>        <span class="k">assert</span> <span class="n">query</span> <span class="ow">is</span> <span class="n">key</span> <span class="ow">and</span> <span class="n">key</span> <span class="ow">is</span> <span class="n">value</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-6'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-6'>#</a>
            </div>
            <p>MLPමික්සර් ආවරණ සඳහා සහය නොදක්වයි. එනම් සියලුම ටෝකන මගින් අනෙකුත් සියලුම ටෝකන කාවැද්දීම් දකිනු ඇත. </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">66</span>        <span class="k">assert</span> <span class="n">mask</span> <span class="ow">is</span> <span class="kc">None</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-7'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-7'>#</a>
            </div>
            <p>පැහැදිලිකම <code  class="highlight"><span></span><span class="n">x</span></code>
 සඳහා පවරන්න </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">69</span>        <span class="n">x</span> <span class="o">=</span> <span class="n">query</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-8'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-8'>#</a>
            </div>
            <p>අවසානමානය අනුක්රමය මානයක් බව එසේ සම්ප්රේෂණය කරන්න. නව හැඩය <code  class="highlight"><span></span><span class="p">[</span><span class="n">d_model</span><span class="p">,</span> <span class="n">batch_size</span><span class="p">,</span> <span class="n">seq_len</span><span class="p">]</span></code>
 </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">73</span>        <span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-9'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-9'>#</a>
            </div>
            <p>ටෝකනහරහා එම්එල්පී යොදන්න </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">75</span>        <span class="n">x</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">mlp</span><span class="p">(</span><span class="n">x</span><span class="p">)</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-10'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-10'>#</a>
            </div>
            <p>නැවතමුල් ස්වරූපයට පරිවර්තනය කරන්න </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">77</span>        <span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span></pre></div>
        </div>
    </div>
    <div class='section' id='section-11'>
        <div class='docs'>
            <div class='section-link'>
                <a href='#section-11'>#</a>
            </div>
            <p> </p>

        </div>
        <div class='code'>
            <div class="highlight"><pre><span class="lineno">80</span>        <span class="k">return</span> <span class="n">x</span></pre></div>
        </div>
    </div>
    <div class='footer'>
        <a href="https://papers.labml.ai">Trending Research Papers</a>
        <a href="https://labml.ai">labml.ai</a>
    </div>
</div>
<script src=../../interactive.js?v=1"></script>
<script>
    function handleImages() {
        var images = document.querySelectorAll('p>img')

        for (var i = 0; i < images.length; ++i) {
            handleImage(images[i])
        }
    }

    function handleImage(img) {
        img.parentElement.style.textAlign = 'center'

        var modal = document.createElement('div')
        modal.id = 'modal'

        var modalContent = document.createElement('div')
        modal.appendChild(modalContent)

        var modalImage = document.createElement('img')
        modalContent.appendChild(modalImage)

        var span = document.createElement('span')
        span.classList.add('close')
        span.textContent = 'x'
        modal.appendChild(span)

        img.onclick = function () {
            console.log('clicked')
            document.body.appendChild(modal)
            modalImage.src = img.src
        }

        span.onclick = function () {
            document.body.removeChild(modal)
        }
    }

    handleImages()
</script>
</body>
</html>